package com.shenghui.enterprise.base.mapper;

import com.shenghui.enterprise.base.entity.BaseModule;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @Description: 模块数据访问接口
 * @Author houjh
 * @Email: happyxiaohou@gmail.com
 * @Date: 2020-05-29
 * @Copyright (c) 2020-2022 云南昇晖科技有限公司
 */
@Mapper
public interface BaseModuleMapper extends BaseMapper<BaseModule> {

    List<Map> getBaseModuleTreeList(@Param("parentId") String parentId);

    /**
     * 通过id查询模块信息
     * @param id
     * @return
     */
    Map<String,Object> getBaseModuleById(@Param("id") String id);

    /**
     * 通过userId查询模块信息
     * @param userId
     * @return
     */
    List<Map<String, Object>> getModuleByUserId(@Param("userId") String userId);

    /**
     * 通过userId查询模块信息
     * @param userId
     * @return
     */
    List<Map<String, Object>> getModuleTaskByUserId(@Param("userId") String userId, @Param("parentId") String parentId);
    /**
     * 通过userId查询用户菜单模块
     * @return
     */
    List<Map<String, Object>> getModuleTreeByUserId(@Param("userId") String userId, @Param("moduleId") String moduleId);
}